package com.yunxi.sto.pojo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yunxi.core.web.DateJsonDeserializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 借车单
 * </p>
 *
 * @author caoYong
 * @since 2019-05-30
 */
@Data
@ApiModel(value="StoVehicleLendOrder对象", description="借车单")
public class StoVehicleLendOrderVO implements Serializable {

    @ApiModelProperty(value = "主键ID")
    private String lendOrderId;

    @ApiModelProperty(value = "借车单号")
    private String lendOrderNo;

    @ApiModelProperty(value = "组织代码")
    private String orgCode;

    @ApiModelProperty(value = "车辆VIN码",required = true)
    private String vin;

    @ApiModelProperty(value = "车辆用途(Vehicle_Purpose,1借用,2领用)")
    private Integer vehiclePurpose;

    @ApiModelProperty(value = "单据状态(VehicleLendOrder_State 1车辆未出库,2车辆已出库,3车辆已入库,4已完成,5作废)")
    private Integer orderState;

    @ApiModelProperty(value = "借用人ID")
    private String staffId;

    @ApiModelProperty(value = "借用人部门ID")
    private String orgId;

    @ApiModelProperty(value = "借车人联系方式")
    private String staffPhone;

    @ApiModelProperty(value = "借车时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date lendTime;

    @ApiModelProperty(value = "还车时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date returnTime;

    @ApiModelProperty(value = "处置方式")
    private String handleType;

    @ApiModelProperty(value = "质量部门是否确认(1是0否)")
    private Integer isQualitymentConfirm;

    @ApiModelProperty(value = "PDI检验是否确认(1是0否)")
    private Integer isPdiConfirm;

    @ApiModelProperty(value = "仓储专员是否确认(1是0否)")
    private Integer isStoManagerConfirm;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "是否需要还车(1是0否)")
    private Integer isNeedReturn;

    @ApiModelProperty(value = "创建时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "修改时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date updateTime;

    @ApiModelProperty(value = "修改人")
    private String updateBy;

    @ApiModelProperty(value = "是否超期(1是0否)")
    private Integer isOverTime;

    @ApiModelProperty(value = "超期天数")
    private Integer overDays;

    @ApiModelProperty(value = "入库司机RFID")
    private String inDriver;

    @ApiModelProperty(value = "出库司机RFID")
    private String outDriver;

    @ApiModelProperty(value = "实际归还日期")
    private Date actualReturnDate;

}
